Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory, including random access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), flash memory, and resistive (e.g., resistance variable) memory, among others. Types of resistive memory include programmable conductor memory, phase change random access memory (PCRAM), conductive bridging random access memory (CBRAM), and resistive random access memory (RRAM), among others.
Memory devices are utilized as non-volatile memory for a wide range of electronic applications in need of high memory densities, high reliability, and low power consumption. Non-volatile memory may be used in, for example, personal computers, portable memory sticks, solid state drives (SSDs), digital cameras, cellular telephones, portable music players such as MP3 players, movie players, and other electronic devices.
Memory devices may include a number of memory cells arranged in a matrix (e.g., array). For example, an access device, such as a diode, a field effect transistor (FET), or bipolar junction transistor (BJT), for a memory cell may be coupled to an access line (e.g., a word line) forming a “row” of the array. Each memory cell may be coupled to a data/sense line (e.g., a bit line) in a “column” of the array.
Resistive Memory devices include resistive memory cells that store data based on the resistance level of a resistive switching element. The cells can be programmed to a desired state (e.g., resistance level), for example, by applying sources of energy, such as positive or negative electrical pulses (e.g., current pulses) to the cells for a particular duration. Resistance states may be programmed in accordance with a linear distribution, or a non-linear distribution. As an example, a single level cell (SLC) may represent one of two data states (e.g., logic 1 or 0), which can depend on whether the cell is programmed to a resistance above or below a particular level. Various resistive memory cells can be programmed to multiple different resistance levels corresponding to multiple data states. Such cells may be referred to as multi state cells, multi digit cells, and/or multi level cells (MLCs) and can represent multiple binary digits (e.g., 10, 01, 00, 11, 111, 101, 100, 1010, 1111, 0101, 0001, etc.).
The programmed state of a selected resistive memory cell may be determined (e.g., read), for example, by sensing current through the cell responsive to an applied voltage. The sensed current, which varies based on the resistance level of the memory cell, indicates the programmed state of the cell.